iT邦幫忙

0

Web基礎系列 - 6 - Cookie 網路世界的驗證「簽名卡片」

  • 分享至 

  • xImage
  •  

Cookie:網路世界的「簽名卡片」

什麼是 Cookie?

想像你去飯店辦理入住,櫃檯會給你一張專屬你、印有飯店簽名的「卡片」。這張卡片代表你的身份,讓你下次來飯店時,只要出示它,飯店就知道你是常客,可以讓你直接進房間。

在網路上,Cookie 就像這張簽名卡片,是伺服器給瀏覽器的小小資料片段,用來辨認你是誰、記住你的資訊,讓網站知道你上次來過,讓你不用每次都重新登入或設定。


Cookie 的種類

Cookie 根據「保存時間」可分為兩種:

  • 記憶體 Cookie(Session Cookie)
    只存在瀏覽器「記憶體」裡。當你關掉瀏覽器,它就會消失。通常用來暫時儲存像購物車、臨時登入的資訊.

  • 硬碟 Cookie(Persistent Cookie)
    儲存在電腦「硬碟」裡,通常會有一個設定的到期日(expires)。只要沒過期或沒刪除,關掉瀏覽器、重開機都還在。適合用來記住登入狀態、偏好設定、記住你上次的操作.


Cookie 存在哪一個硬體?

  • Session Cookie(記憶體 Cookie):存在你的電腦**記憶體(RAM)**裡.
  • Persistent Cookie(硬碟 Cookie):存在你的電腦硬碟的瀏覽器專屬檔案,像 Chrome、Firefox 都會在本機資料庫建立 Cookie 檔案,不會送到伺服器或雲端.

Cookie 怎麼工作?

  1. 瀏覽器向伺服器發請求
    瀏覽器(Client)說:「我想看這個網站!」並發送一個請求給伺服器(Server)。

  2. 伺服器回應並發送 Cookie
    伺服器收到請求後,確認你是正常訪客,在回應裡附上一個 Cookie(就像那張卡片),讓瀏覽器儲存。

  3. 瀏覽器自動儲存 Cookie
    Cookie 依類型存放在記憶體或硬碟。

  4. 下一次請求自動帶上 Cookie
    瀏覽器自動在請求標頭裡帶著 Cookie 去跟伺服器溝通。

  5. 伺服器根據 Cookie 辨識你
    伺服器看到 Cookie,就知道你是誰,可保持登入或記住設定。


Server 與 Client 怎麼設定 Cookie?

  • 伺服器設定:HTTP 回應裡用 Set-Cookie 指令告訴瀏覽器要存什麼 Cookie 和到期日,例如:
    Set-Cookie: user=alice; Expires=Thu, 31 Dec 2025 23:59:59 GMT
    
  • 瀏覽器自動處理:下次發請求時自動附帶 Cookie,例如:
    Cookie: user=alice
    
  • 前端程式也能新增/修改 Cookie
    document.cookie = "user=alice; expires=Thu, 31 Dec 2025 23:59:59 GMT";
    

為什麼 Cookie 很重要?

  • 幫助網站「記得你」,提供個人化體驗。
  • 讓你登入網站後不用每次都輸入帳號密碼。
  • 追蹤使用者偏好,顯示專屬內容。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言